# _*_ coding: UTF-8 _*_
# @Time     : 2021/11/15 10:29
# @Author   : yangshuaishuai
# @Site     : http://www.hzdledu.cn/
# @File     : a2s2_TouchAction触摸动作.py
# @Software : PyCharm

import unittest
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction  # 导入触摸动作类
import time


class Test(unittest.TestCase):
    def setUp(self) -> None:
        # 手机设置
        desired_caps = {}
        desired_caps['platformName'] = 'Android'  # 系统名称
        desired_caps['platformVersion'] = '7.1.2'  # 系统的版本号
        desired_caps['deviceName'] = 'Android Emulator'  # 设备名称，这里是虚拟机，这个没有严格的规定
        desired_caps['appPackage'] = 'com.example.calculator'  # APP包名
        desired_caps['appActivity'] = 'com.example.calculator.MainActivity'  # APP入口的activity
        desired_caps['noReset'] = True  # 不重置app的缓存文件
        desired_caps['unicodeKeyboard'] = True  # 设置键盘支持中文输入
        desired_caps['resetKeyboard'] = True  # 重置键盘

        # 连接appium server，告诉appium，代码要操作哪个设备上的哪个APP
        # 启动手机上App
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

    def test(self):
        time.sleep(3)
        # 点击
        TouchAction(self.driver).tap(self.driver.find_element_by_accessibility_id('搜索')).perform()  # 点击元素
        time.sleep(1)
        # 点击
        TouchAction(self.driver).tap(None, 61, 276).tap().perform()  # 点击坐标
        time.sleep(1)
        # 模拟手指按压
        # 动作链条
        TouchAction(self.driver).press(None, 170, 227).wait(1000).release().perform()  # 按压第一首歌，持续一秒，然后松开

        #模拟长按： =press+wait+release
        TouchAction(self.driver).long_press(None,170,227,1000).perform() #长按同一个位置一秒



        time.sleep(5)

    def tearDown(self) -> None:
        self.driver.quit()
